package com.sojson.util.file.depot;

import java.util.List;

/**
 * 文件库工具类接口
 * 
 * @author liu
 * @date 2021-05-26
 */
public interface FileDepotUtilInterface {

    /**
     * 添加文件(本地文件)
     * 
     * @param newImg 上传接口返回的字符串
     */
    boolean uploadThisLocal(String newImg);

    /**
     * 添加文件(文件存储系统文件)
     * 
     * @param newImg 上传接口返回的字符串
     */
    boolean upload(String newImg);

    /**
     * 添加数据的时候修改文件(异步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    上传接口返回的字符串
     */
    void insert(int tableCode, String fieldName, String newImg);

    /**
     * 添加数据的时候修改文件(同步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    上传接口返回的字符串
     */
    boolean insertSync(int tableCode, String fieldName, String newImg);

    /**
     * 添加数据的时候修改文件(异步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    上传接口返回的字符串
     */
    void insertList(int tableCode, String fieldName, String newImg);

    /**
     * 添加数据的时候修改文件(同步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    上传接口返回的字符串
     */
    int insertListSync(int tableCode, String fieldName, String newImg);

    /**
     * 修改数据的时候修改文件(异步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    新文件
     * @param oldImg    旧文件
     */
    void update(int tableCode, String fieldName, String newImg, String oldImg);

    /**
     * 修改数据的时候修改文件(同步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    新文件
     * @param oldImg    旧文件
     */
    boolean updateSync(int tableCode, String fieldName, String newImg, String oldImg);

    /**
     * 修改数据的时候修改文件(异步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    新文件
     * @param oldImg    旧文件
     */
    void updateList(int tableCode, String fieldName, String newImg, String oldImg);

    /**
     * 修改数据的时候修改文件(同步方法)
     * 
     * @param tableCode 表代码
     * @param fieldName 字段名
     * @param newImg    新文件
     * @param oldImg    旧文件
     */
    boolean updateListSync(int tableCode, String fieldName, String newImg, String oldImg);

    /**
     * 删除数据的时候修改文件(异步方法)
     * 
     * @param oldImg 旧文件
     */
    void delete(String oldImg);

    /**
     * 删除数据的时候修改文件(同步方法)
     * 
     * @param oldImg 旧文件
     */
    boolean deleteSync(String oldImg);

    /**
     * 删除数据的时候修改文件(异步方法)
     * 
     * @param oldImg 旧文件
     */
    void deleteList(String oldImg);

    /**
     * 删除数据的时候修改文件(同步方法)
     * 
     * @param oldImg 旧文件
     */
    int deleteListSync(String oldImg);

    /**
     * 删除数据的时候修改文件(异步方法)
     * 
     * @param oldImg 旧文件
     */
    void deleteList(String[] oldImg);

    /**
     * 删除数据的时候修改文件(同步方法)
     * 
     * @param oldImg 旧文件
     */
    int deleteListSync(String[] oldImg);

    /**
     * 删除数据的时候修改文件(异步方法)
     * 
     * @param oldImg 旧文件
     */
    void deleteList(List<String> oldImg);

    /**
     * 删除数据的时候修改文件(同步方法)
     * 
     * @param oldImg 旧文件
     */
    int deleteListSync(List<String> oldImg);

    /**
     * 删除数据的时候修改文件(异步方法)
     * 
     * @param oldImg 旧文件
     */
    void deleteLists(List<String> oldImg);

    /**
     * 删除数据的时候修改文件(同步方法)
     * 
     * @param oldImg 旧文件
     */
    int deleteListsSync(List<String> oldImg);

    /**
     * 删除旧文件
     * 
     * @param oldImg 上传接口返回的字符串
     */
    boolean deleteFile(String oldImg);

    /**
     * 删除旧文件
     * 
     * @param oldImgs 上传接口返回的字符串
     */
    int deleteFile(List<String> oldImgs);

    /**
     * 删除数据
     */
    int deleteData();

}